#include <iostream>

using std::cout;
using std::endl;

//如果空类作为基类存在，那么它在派生类中不占据空间的
class Empty
{};

int main()
{
    Empty e1;
    //Empty e2 = e1;
    Empty e2(e1);

    Empty e3;
    e3 = e2;
    cout << "sizeof(Empty):" << sizeof(Empty) << endl;
    cout << "sizeof(e1):" << sizeof(e1) << endl;
    //虽然空类中没有任何成员，但依然要占据一个字节的空间
    //就是为了区分出是不同的对象
    cout << "&e1:" << &e1 << endl;
    cout << "&e2:" << &e2 << endl;
    return 0;
}

